﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _04_委托_绑定_非静态方法
{
    public delegate void DoSome();

    class Person
    {
        public string Name { get; set; }

        public Person(string name)
        {
            Name = name;
        }

        public void SayHi()
        {
            Console.WriteLine("大家好！我叫:{0}", Name);
        }
    }

    internal class Program
    {
        static void Main(string[] args)
        {
            //实例化委托=>保存并记录方法的内存地址
            Person pr = new Person("张三");
            //绑定委托的方法
            DoSome doSome = new DoSome(pr.SayHi);
            //调用委托的Invoke来触发绑定的方法
            doSome.Invoke();

            Console.ReadKey();
        }
    }
}
